﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Flighttracker
{
    public class Luchtvaartmaatschappij : ISearchable
    {

        public string LVM_ICAO { get; private set; }
        public string Naam { get; private set; }
        public List<Piloot> PilootList { get; private set; }
        public List<Vlucht> VluchtList { get; private set; }
        public List<Vliegtuig> VliegtuigList { get; private set; }

        /// <summary>
        /// Constructor
        /// </summary>
        public Luchtvaartmaatschappij(string lvm_icao, string naam)
        {
            this.LVM_ICAO = lvm_icao;
            this.Naam = naam;

            PilootList = new List<Piloot>();
            VluchtList = new List<Vlucht>();
            VliegtuigList = new List<Vliegtuig>();
        }

        public Luchtvaartmaatschappij(List<string> stringList)
        {
            this.LVM_ICAO = stringList[0];
            this.Naam = stringList[1];

            PilootList = new List<Piloot>();
            VluchtList = new List<Vlucht>();
            VliegtuigList = new List<Vliegtuig>();
        }

        /// <summary>
        /// Geeft de lijst van alle vluchten
        /// </summary>
        public List<Vlucht> ToonAlleVluchten()
        {
            return this.VluchtList;
        }

        /// <summary>
        /// Geeft de lijst van alle vliegtuigen
        /// </summary>
        /// <returns></returns>
        public List<Vliegtuig> ToonAlleVliegtuigen()
        {
            return this.VliegtuigList;
        }

        /// <summary>
        /// Voegt een vliegtuig toe aan de lijst.
        /// </summary>
        public void VoegVliegtuigToe(Vliegtuig vliegtuig)
        {
            VliegtuigList.Add(vliegtuig);
        }

        /// <summary>
        /// Voegt een vlucht toe aan de lijst.
        /// </summary>
        /// <param name="vlucht"></param>
        public void VoegVluchtToe(Vlucht vlucht)
        {
            VluchtList.Add(vlucht);
        }

        /// <summary>
        /// Voegt een piloot toe aan de lijst.
        /// </summary>
        /// <param name="piloot"></param>
        public void VoegPilootToe(Piloot piloot)
        {
            PilootList.Add(piloot);
        }

        public bool ZoekUniekID(string id)
        {
            if (this.LVM_ICAO == id)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
}